#pragma once

#include <istream>
#include "IGeneticProcess.h"

class GeneticProcessInvoker
{
public:
	void DoEvolution(IGeneticProcess *process, unsigned int iterations);
	GeneticProcessInvoker(std::ostream &str);
	~GeneticProcessInvoker(void);

private:
	IGeneticProcess *m_gp;
	unsigned int m_iterationsToGo;
	unsigned int m_totalIterations;
	std::ostream &m_str;

	void debug_process(bool all);
	void debug_results();
};
